runtime.schedt.npidle (field)
15 uses
runtime (current package)
proc.go#L2349: if atomic.Load(&sched.nmspinning)+atomic.Load(&sched.npidle) == 0 && atomic.Cas(&sched.nmspinning, 0, 1) { // TODO: fast atomic
proc.go#L2377: if sched.npidle == uint32(gomaxprocs-1) && atomic.Load64(&sched.lastpoll) != 0 {
proc.go#L2397: if atomic.Load(&sched.npidle) == 0 {
proc.go#L2593: if _g_.m.spinning || 2*atomic.Load(&sched.nmspinning) < procs-atomic.Load(&sched.npidle) {
proc.go#L3075: for ; n != 0 && sched.npidle != 0; n-- {
proc.go#L3089: npidle := int(atomic.Load(&sched.npidle))
proc.go#L5084: if debug.schedtrace <= 0 && (sched.gcwaiting != 0 || atomic.Load(&sched.npidle) == uint32(gomaxprocs)) {
proc.go#L5086: if atomic.Load(&sched.gcwaiting) != 0 || atomic.Load(&sched.npidle) == uint32(gomaxprocs) {
proc.go#L5246: if runqempty(_p_) && atomic.Load(&sched.nmspinning)+atomic.Load(&sched.npidle) > 0 && pd.syscallwhen+10*1000*1000 > now {
proc.go#L5337: print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle, " threads=", mcount(), " spinningthreads=", sched.nmspinning, " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
proc.go#L5425: for ; n != 0 && sched.npidle != 0; n-- {
proc.go#L5623: atomic.Xadd(&sched.npidle, 1) // TODO: fast atomic
proc.go#L5641: atomic.Xadd(&sched.npidle, -1) // TODO: fast atomic
proc.go#L6094: if i >= active_spin || ncpu <= 1 || gomaxprocs <= int32(sched.npidle+sched.nmspinning)+1 {
runtime2.go#L765: npidle uint32